import _thread
import time

"""
Python中使用线程有两种方式：函数或者用类来包装线程对象。
函数式：调用 _thread 模块中的start_new_thread()函数来产生新线程。语法如下:
_thread.start_new_thread ( function, args[, kwargs] )
function - 线程函数。
args - 传递给线程函数的参数,他必须是个tuple类型。
kwargs - 可选参数。

"""


def do_something(thread_name, max):
    print(f'线程{thread_name}执行任务.....')
    sum1 = 0
    for i in range(1, max):
        sum1 += i
        time.sleep(1)

    print(f'sum = {sum1} 线程{thread_name}完成任务.....')


if __name__ == '__main__':
    try:
        _thread.start_new_thread(do_something, ("线程1", 10,))
        _thread.start_new_thread(do_something, ("线程2", 12,))
    except:
        print("Error: 无法启动线程")


    # 让主线程等待线程1和线程2执行完，如果去掉则出现 线程1和线程2 未开始执行，主线程就结束了
    while 1:
        pass